
/**
 *  存储请求参数
 * @type {URLSearchParams}
 */
var params = new URLSearchParams();

/**
 * 存储 分页相关的 信息
 * @type {Vue}
 */
var data = new Vue({
    el:'#setPage',
    data:{
        page2: 1,  //当前页数,默认为第一页(供主页面 的海报使用)
        size2: 4, //每页显示的数据条数,默认为3条(供主页面 的海报使用)
        totalPage2: null, //总页数,默认为null
    },
    methods:{
        //设置总页数: 服务端返回数据;
        setTotalPage:function (totalpage) {
            this.totalPage = totalpage;
            setPage.totalPage = totalpage;
        },
        //设置具体某页,并重新发送请求
        setDesInfoPage:function(page){
            this.page2 = page;
            manage.getDesInfos();
            manage.getDesInfoAllPage();
        },
        //重置页面信息
        defaultPageInfo:function () {
            this.page2 = 1;
            this.size = 4;
            this.totalPage = null;
        }
    }
})



/**
 * 管理各种信息,增加删除查找修改等...
 */
var manage = new Vue({
    el:'#manageInfo',
    data:{
        desInfos: null, //分页获取所有的主标题信息
        updateInfo: '', //获取修改信息内容,desInfo
        updateInfo2: '' //获取 mid
    },
    methods:{
        //向后台发送数据获取 分页获取所有主标题信息
        getDesInfos:function () {
            //设置请求参数
            this.clearParams();
            params.append('page',data.page2);
            params.append('size',data.size2);
            //发送请求
            axios
                .post('../manage/querydesinfobypage',params)
                .then(function (response){
                    manage.desInfos = response.data;
                })
                .catch(function (error) { // 请求失败处理
                    console.log(error);
                });
        },
        //获取主标题总页数
        getDesInfoAllPage:function(){
            //发送请求
            axios
                .post('../manage/queryDesInfosNum')
                .then(function (response){
                    //如果页数大小 和 总的数据条数 都知道了,就求出总页数
                    if(response.data % data.size2 == 0){
                        data.totalPage2 = response.data/data.size2;
                    }else{
                        data.totalPage2 = response.data/data.size2 + 1;
                    }
                })
                .catch(function (error) { // 请求失败处理
                    console.log(error);
                });
        },
        //修改主标题内容,根据sid
        updateDesInfo: function(did,info,mid){
            //重置并设置发送信息
            this.clearParams();
            params.append('did',did);
            params.append('deInfo',info);
            if(this.updateInfo2 == '')
                params.append('mid',-1);
            else
                params.append('mid',mid);
            //发送修改请求
            axios
                .post('../manage/updateDesInfo',params)
                .then(function (response){
                    operationState.updateState = response.data;
                    manage.getDesInfos();
                    manage.getdesInfoAllPage();
                    manage.updateInfo='';
                    manage.updateInfo2='';
                })
                .catch(function (error) { // 请求失败处理
                    console.log(error);
                });
        },
        //增加描述信息
        addDesInfo:function(info,mid){
            this.clearParams();
            params.append('deInfo',info);
            params.append('mid',mid);
            //发送增加请求
            axios
                .post('../manage/adddesinfo',params)
                .then(function (response){
                    operationState.updateState = response.data;
                    data.defaultPageInfo();
                    manage.updateInfo='';
                    manage.updateInfo2='';
                    manage.getDesInfos();
                    manage.getdesInfoAllPage();
                })
                .catch(function (error) { // 请求失败处理
                    console.log(error);
                });
        },
        //删除信息
        deleteDesInfo:function(info){
            this.clearParams();
            params.append('did',info);
            axios
                .post('../manage/deletedesinfo',params)
                .then(function (response){
                    operationState.updateState = response.data;
                    manage.getDesInfos();
                    manage.getdesInfoAllPage();
                })
                .catch(function (error) { // 请求失败处理
                    console.log(error);
                });
        },
        //重置请求参数
        clearParams:function () {
            params = new URLSearchParams();
        }
    },
    mounted(){
        this.getDesInfos();
        this.getDesInfoAllPage();
    }
})


/**
 *  事务提示
 */
var operationState = new Vue({
    el:'#status',
    data:{
        updateState: 0, //更新状态信息:默认为0,表示更新失败,非0表示更新成功
        message: '请继续你的其他操作' //默认提示信息;
    },
    methods:{
    }
})
